import dataList from '@/components/dataList'
import showData from '../edit/show-data'
import editData from '../edit/edit-data'
import {fetchList,delObj} from '../../../api/finance-manage-taxes'

export default {
    name: 'resource-manage',
    components: {showData, editData,dataList},
    provide() {
        return {
            initList: this.getListData,
        };
    },
    beforeMount() {
        this.getListData();
    },
    data() {
        return {
            tableData: [],
            // 请求参数
            params: {
                current: 1,
                size: 10,
                formula: ''
            },
            // 选中的数据
            selectDataArr: [],
            // 分页
            pager: {
                total: 0, // 总页数
                current: 1, // 当前页数
                size: 10 // 每页显示多少条
            },
            // 页面loading
            loading: false,
            filterList: [
                { label: '税率设置类型', inputType: 'select', name: 'taxesName', multiple: true, children: [
                        {
                            label: '增值税',
                            value: '增值税',
                        },
                        {
                            label: '城市维护建设税',
                            value: '城市维护建设税',
                        },
                        {
                            label: '教育附加税',
                            value: '教育附加税',
                        },
                        {
                            label: '地方教育附加税',
                            value: '地方教育附加税',
                        },
                        {
                            label: '房产税',
                            value: '房产税',
                        },
                        {
                            label: '城镇土地使用税',
                            value: '城镇土地使用税',
                        }
                    ]},
                { label: '更新时间开始区间', inputType: 'date', name: 'startTime'},
                { label: '更新时间结束区间', inputType: 'date', name: 'endTime'}
            ],
        }
    },
    methods: {
        getListData(params = {}) {
            this.loading = true
            let requestData = {...this.params, ...params}
            fetchList(requestData).then(res => {
                const  {current, size, total, records} = res.data.data
                this.tableData = records
                this.params = requestData
                this.pager = {total, current, size}
            }).finally(() => {
                this.loading = false
            })
        },
        editData(item) {
            this.$refs.editData.show(item)
        },
        showData(item) {
            this.$refs.showData.show(item)
        },
        del() {
            if (this.selectDataArr.length === 0) {
                this.err('请选择要删除的数据')
            } else {
                this.confirm('删除确认', '您确定要删除该数据吗？', () => {
                    let ids = this.selectDataArr.map(item => item.taxesId)
                    delObj(ids.join(',')).then(resp => {
                        if (resp.data.data) {
                            this.suc('删除成功')
                            this.getListData()
                        } else {
                            this.err('删除失败')
                        }
                    })
                })
            }
        },
        deleteRow(scope) {
            this.confirm('删除确认', '您确定要删除该数据吗？', () => {
                delObj(scope.row.taxesId).then(resp => {
                    if (resp.data.data) {
                        this.suc('删除成功')
                        this.getListData()
                    } else {
                        this.err('删除失败')
                    }
                })
            })
        },
        // 菜单点击监听
        handleMenuClick(type){
            switch (type) {
                case 'delete':
                    this.del();
                    break;
                default:
                    this.$message(type)
                    break;
            }
        },
    }
}
